Skip to content

Conversation

@zulquer
Copy link
Collaborator

@zulquer zulquer commented Oct 8, 2025

This pull request improves error handling across multiple manager classes in the codebase by refining how data validation exceptions are caught and reported. Specifically, it replaces broad exception handling with targeted handling of pydantic.ValidationError when parsing or constructing data models from API responses. This change ensures that only relevant validation errors are caught, leading to clearer, more accurate warning messages and improved maintainability.

Error handling improvements:

  • Replaced generic Exception handling with explicit ValidationError handling from pydantic in all manager classes when parsing API response data into models (e.g., Order, Gateway, Issuer, Token, etc.), ensuring only schema validation errors are caught and reported. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

  • Added from pydantic import ValidationError imports to all relevant manager files to support the new error handling approach. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Code cleanup:

  • Removed unnecessary blank lines from import sections in several manager files for improved readability and consistency. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Configuration update:

  • Updated pyproject.toml to remove "BLE001" from the ignore list, possibly to enable linting for a specific code style rule.

@zulquer zulquer requested review from Copilot and danielcivit October 8, 2025 14:39
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request improves error handling by replacing broad Exception catching with specific pydantic.ValidationError handling in manager classes across the codebase, addressing the ruff BLE001 linting rule.

  • Replace generic Exception handling with targeted ValidationError handling for data validation
  • Add ValidationError imports to all affected manager files
  • Remove unnecessary blank lines in import sections for code cleanup

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/multisafepay/api/paths/transactions/transaction_manager.py Added ValidationError import and updated exception handling for transaction listing
src/multisafepay/api/paths/recurring/recurring_manager.py Added ValidationError import and updated exception handling for token operations
src/multisafepay/api/paths/payment_methods/payment_method_manager.py Added ValidationError import and updated exception handling for payment method operations
src/multisafepay/api/paths/orders/order_manager.py Added ValidationError import and updated exception handling for order operations
src/multisafepay/api/paths/me/me_manager.py Added ValidationError import and updated exception handling for user data
src/multisafepay/api/paths/issuers/issuer_manager.py Added ValidationError import and updated exception handling for issuer operations
src/multisafepay/api/paths/gateways/gateway_manager.py Added ValidationError import and updated exception handling for gateway operations
src/multisafepay/api/paths/categories/category_manager.py Added ValidationError import and updated exception handling for category operations
src/multisafepay/api/paths/capture/capture_manager.py Added ValidationError import and updated exception handling for capture operations
src/multisafepay/api/paths/auth/auth_manager.py Added ValidationError import and updated exception handling for auth operations
pyproject.toml Removed BLE001 from ignore list to enable linting for bare exception handling

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@codecov
Copy link

codecov bot commented Oct 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.53%. Comparing base (d23e05d) to head (2142041).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage   90.49%   90.53%   +0.04%     
==========================================
  Files         107      107              
  Lines        2324     2334      +10     
==========================================
+ Hits         2103     2113      +10     
  Misses        221      221              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@zulquer zulquer removed the request for review from danielcivit October 8, 2025 15:05
@zulquer zulquer merged commit d89f135 into master Oct 8, 2025
6 checks passed
@zulquer zulquer deleted the PTHMINT-51 branch October 8, 2025 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants